<html>
<head><meta charset="utf-8"><title>in-band-lifetimes · t-compiler/wg-nll · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/index.html">t-compiler/wg-nll</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html">in-band-lifetimes</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="130300311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300311">(Jul 25 2018 at 20:27)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> didn't you add <code>in_band_lifetimes</code> feature to the compiler ?</p>



<a name="130300365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300365">(Jul 25 2018 at 20:28)</a>:</h4>
<p>You mean in rustc_mir? I went through and tried it but never submitted a PR</p>



<a name="130300369"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300369" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300369">(Jul 25 2018 at 20:28)</a>:</h4>
<p>I still have the branch though, probably relatively easy to rebase</p>



<a name="130300430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300430">(Jul 25 2018 at 20:29)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span>  <a href="https://github.com/rust-lang/rust/compare/master...Mark-Simulacrum:rustc-mir-inband" target="_blank" title="https://github.com/rust-lang/rust/compare/master...Mark-Simulacrum:rustc-mir-inband">https://github.com/rust-lang/rust/compare/master...Mark-Simulacrum:rustc-mir-inband</a> is the diff</p>



<a name="130300495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300495">(Jul 25 2018 at 20:30)</a>:</h4>
<p>oh, you didn't land it?</p>



<a name="130300555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300555">(Jul 25 2018 at 20:31)</a>:</h4>
<p>that explains why the <code>#![feature]</code> is not present :)</p>



<a name="130300743"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300743" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300743">(Jul 25 2018 at 20:34)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Want me to rebase it?</p>



<a name="130300765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300765">(Jul 25 2018 at 20:35)</a>:</h4>
<p>idk, maybe? I'd like to start using the feature -- I'm not crazy though about having lifetimes named <code>'a</code> at impl scope</p>



<a name="130300771"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300771" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300771">(Jul 25 2018 at 20:35)</a>:</h4>
<p>I'd want to maybe establish a different convention</p>



<a name="130300778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300778">(Jul 25 2018 at 20:35)</a>:</h4>
<p>basically what I wanted was something where single-letter names were only used at fn level</p>



<a name="130300782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300782">(Jul 25 2018 at 20:35)</a>:</h4>
<p>and multi-letter names were meant to be meaningful and could be used anywhere</p>



<a name="130300821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300821">(Jul 25 2018 at 20:36)</a>:</h4>
<p>ideally, a lint-enforced convention, but maybe good to do it manually to start</p>



<a name="130300836"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300836" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300836">(Jul 25 2018 at 20:36)</a>:</h4>
<p>it's not particularly urgent</p>



<a name="130300841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300841">(Jul 25 2018 at 20:36)</a>:</h4>
<p>I was just curious because I thought I remembered you saying you had applied that change to <code>librustc_mir</code></p>



<a name="130300854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300854">(Jul 25 2018 at 20:36)</a>:</h4>
<p>actually what I'd like to do is start using the <code>implied_outlives_bounds</code> for structs...</p>



<a name="130300867"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300867" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300867">(Jul 25 2018 at 20:37)</a>:</h4>
<p>I get sick of writing <code>&lt;'cx, 'gcx: 'tcx, 'tcx: 'cx&gt;</code></p>



<a name="130300879"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300879" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300879">(Jul 25 2018 at 20:37)</a>:</h4>
<p>I don't imagine it'll be a difficult rebase</p>



<a name="130300922"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300922" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300922">(Jul 25 2018 at 20:38)</a>:</h4>
<p>I can put it up later today/tomorrow probably</p>



<a name="130300929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300929">(Jul 25 2018 at 20:38)</a>:</h4>
<p>But yeah, conventions need to be established</p>



<a name="130300945"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300945" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300945">(Jul 25 2018 at 20:38)</a>:</h4>
<p>agreed. I'm not sure I have the right ones, either, but I <em>think</em> they would work well</p>



<a name="130300961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130300961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130300961">(Jul 25 2018 at 20:39)</a>:</h4>
<p>I would like to start using it though to try and get better sense for how it "feels"</p>



<a name="130301037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130301037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130301037">(Jul 25 2018 at 20:40)</a>:</h4>
<p>Sure, yeah</p>



<a name="130319669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130319669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130319669">(Jul 26 2018 at 03:49)</a>:</h4>
<p>on this topic, I tried to add <code>infer_outlives_requirements</code> to librustc_mir, but due to the (fixed) bug for cross-crate cases, it's still not usable</p>



<a name="130319670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130319670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130319670">(Jul 26 2018 at 03:49)</a>:</h4>
<p>need one more beta</p>



<a name="130323336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130323336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130323336">(Jul 26 2018 at 05:34)</a>:</h4>
<p>proposal: instead of <code>'cx</code>, use <code>'this</code> to represent the "contravariant region"...</p>



<a name="130323605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130323605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130323605">(Jul 26 2018 at 05:41)</a>:</h4>
<p>or maybe <code>'me</code> or <code>'my</code></p>



<a name="130344997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130344997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130344997">(Jul 26 2018 at 13:51)</a>:</h4>
<p>Bringing back <code>'self</code>. eh</p>



<a name="130347206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130347206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130347206">(Jul 26 2018 at 14:30)</a>:</h4>
<p><code>'self</code> doesn't work because <code>self</code> is a keyword -- <code>'this</code> has been the trend I've seen so far</p>



<a name="130347220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130347220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130347220">(Jul 26 2018 at 14:30)</a>:</h4>
<p>I do like <code>'me</code> or something shorter though</p>



<a name="130349632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130349632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130349632">(Jul 26 2018 at 15:00)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> I was referencing some Olde Rust, before when I started (0.12, IIRC) where <code>'self</code> was a predefined lifetime.</p>



<a name="130349667"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130349667" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130349667">(Jul 26 2018 at 15:00)</a>:</h4>
<p>Heh</p>



<a name="130349749"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130349749" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130349749">(Jul 26 2018 at 15:01)</a>:</h4>
<p>But, as useful feedback instead of my joke...</p>
<blockquote>
<p>to represent the "contravariant region"...</p>
</blockquote>
<p>Maybe it should be <code>'cr</code></p>



<a name="130352760"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130352760" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130352760">(Jul 26 2018 at 15:39)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Well, it's up: <a href="https://github.com/rust-lang/rust/pull/52736" target="_blank" title="https://github.com/rust-lang/rust/pull/52736">https://github.com/rust-lang/rust/pull/52736</a></p>



<a name="130352770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130352770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130352770">(Jul 26 2018 at 15:39)</a>:</h4>
<p>But reviewing that is going to be a nightmare</p>



<a name="130353116"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353116" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353116">(Jul 26 2018 at 15:44)</a>:</h4>
<p>to some extent, if it compiles, it's fine</p>



<a name="130353402"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353402" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353402">(Jul 26 2018 at 15:48)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> some of the changes are surprising to me; I'll leave comments</p>



<a name="130353416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353416">(Jul 26 2018 at 15:48)</a>:</h4>
<p>I'm definitely interested in feedback</p>



<a name="130353422"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353422" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353422">(Jul 26 2018 at 15:48)</a>:</h4>
<p>Some of it might be that as I went through my patterns somewhat changed I think as I got more of a feel for things</p>



<a name="130353458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353458">(Jul 26 2018 at 15:49)</a>:</h4>
<p>the thing I'm most curious about is the <code>'self_</code></p>



<a name="130353537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353537">(Jul 26 2018 at 15:50)</a>:</h4>
<p>yeah ewww <code>'self_</code></p>



<a name="130353551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353551">(Jul 26 2018 at 15:51)</a>:</h4>
<p>i like that cramertj also reviewed</p>



<a name="130353642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353642">(Jul 26 2018 at 15:52)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> What do you think about using <code>'_</code> instead of <code>'a</code>/<code>'me</code>? I guess we can't always since we sometime want to tie things to that lifetime...</p>



<a name="130353649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353649">(Jul 26 2018 at 15:53)</a>:</h4>
<p>it's not so much the name itself</p>



<a name="130353664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353664">(Jul 26 2018 at 15:53)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> well I think we should use <code>'_</code> whenever possible</p>



<a name="130353672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353672">(Jul 26 2018 at 15:53)</a>:</h4>
<p>that's the first and foremost rule</p>



<a name="130353677"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353677" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353677">(Jul 26 2018 at 15:53)</a>:</h4>
<p>and in fact we have a lint for this</p>



<a name="130353680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353680">(Jul 26 2018 at 15:53)</a>:</h4>
<p>that... I think even works?</p>



<a name="130353683"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353683" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353683">(Jul 26 2018 at 15:53)</a>:</h4>
<p>Even if that means a later patch will need to make broader changes?</p>



<a name="130353691"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353691" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353691">(Jul 26 2018 at 15:53)</a>:</h4>
<p>that would be my preference</p>



<a name="130353693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353693">(Jul 26 2018 at 15:53)</a>:</h4>
<p>i.e. today you can pretty much just start using <code>'a</code> in contexts</p>



<a name="130353699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353699">(Jul 26 2018 at 15:53)</a>:</h4>
<p>I think names should connect things</p>



<a name="130353747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353747">(Jul 26 2018 at 15:54)</a>:</h4>
<p>if I see a name, I would typically assume it's tied to something else</p>



<a name="130353757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353757">(Jul 26 2018 at 15:54)</a>:</h4>
<p>if the name is only used once, that is misleading</p>



<a name="130353768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353768">(Jul 26 2018 at 15:54)</a>:</h4>
<p>What about <code>'tcx</code>?</p>



<a name="130353782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353782">(Jul 26 2018 at 15:54)</a>:</h4>
<p>E.g. <code>mir::Place&lt;'tcx&gt;</code> or some such</p>



<a name="130353786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353786">(Jul 26 2018 at 15:54)</a>:</h4>
<p>I typically use <code>'_</code> if I can instead</p>



<a name="130353790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353790">(Jul 26 2018 at 15:54)</a>:</h4>
<p>but that is something of an exception</p>



<a name="130353807"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353807" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353807">(Jul 26 2018 at 15:54)</a>:</h4>
<p>but I do usually write e.g. <code>&amp;InferCtxt&lt;'_, '_, 'tcx&gt;</code></p>



<a name="130353808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353808">(Jul 26 2018 at 15:54)</a>:</h4>
<p>and not <code>'gcx</code></p>



<a name="130353822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353822">(Jul 26 2018 at 15:55)</a>:</h4>
<p>I'd be fine with e.g. <code>Ty&lt;'_&gt;</code> if it's not needed</p>



<a name="130353827"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353827" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353827">(Jul 26 2018 at 15:55)</a>:</h4>
<p>but I'm also ok with <code>Ty&lt;'tcx&gt;</code>, since that is so omni-present</p>



<a name="130353902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353902">(Jul 26 2018 at 15:56)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> but mainly I was curious whether the <code>'self_</code> was actually <em>needed</em></p>



<a name="130353904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353904">(Jul 26 2018 at 15:56)</a>:</h4>
<p>that is, you went from a case with elision to one without</p>



<a name="130353911"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353911" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353911">(Jul 26 2018 at 15:56)</a>:</h4>
<p><code>fn foo(&amp;self, ..) -&gt; Foo&lt;'_&gt;</code> to <code>fn foo(&amp;'a self, ..) -&gt; Foo&lt;'a&gt;</code></p>



<a name="130353915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353915">(Jul 26 2018 at 15:56)</a>:</h4>
<p>if that is <em>needed</em>, that seems like a bug</p>



<a name="130353966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353966">(Jul 26 2018 at 15:57)</a>:</h4>
<p>It's sometimes needed (when you have multiple lifetimes in input params)</p>



<a name="130353974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130353974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130353974">(Jul 26 2018 at 15:58)</a>:</h4>
<p>But mostly not required</p>



<a name="130354176"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354176" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354176">(Jul 26 2018 at 16:00)</a>:</h4>
<p>but in those cases, it should have been needed before, no?</p>



<a name="130354218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354218">(Jul 26 2018 at 16:01)</a>:</h4>
<p>That's true, yes</p>



<a name="130354279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354279">(Jul 26 2018 at 16:02)</a>:</h4>
<p>Another interesting question is whether (when possible) we should omit <code>'tcx</code> lifetimes too, e.g. if the function doesn't actually use that property/tie</p>



<a name="130354305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354305">(Jul 26 2018 at 16:02)</a>:</h4>
<p>Yeah, I lack a strong opinion there. I think I would probably keep that particular one just for simplicity somehow.</p>



<a name="130354311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354311">(Jul 26 2018 at 16:02)</a>:</h4>
<p>but I also think it's fine not to</p>



<a name="130354329"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354329" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354329">(Jul 26 2018 at 16:03)</a>:</h4>
<p>It feels like we should have better answers here...</p>



<a name="130354332"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354332" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354332">(Jul 26 2018 at 16:03)</a>:</h4>
<p>but I feel like when I am writing signatures, I will generally just write <code>'tcx</code> out of habit and not want to think about how tied things are</p>



<a name="130354336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354336">(Jul 26 2018 at 16:03)</a>:</h4>
<p>I..huh. I don't see a problem.</p>



<a name="130354345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354345">(Jul 26 2018 at 16:03)</a>:</h4>
<p>but, more specifically, do you mean "rustc should have better answers" or "Rust" or both?</p>



<a name="130354353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354353">(Jul 26 2018 at 16:03)</a>:</h4>
<p>the first more strongly but both</p>



<a name="130354412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354412">(Jul 26 2018 at 16:04)</a>:</h4>
<p>It's harder on newcomers if the code is inconsistent</p>



<a name="130354415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354415">(Jul 26 2018 at 16:04)</a>:</h4>
<p>What would make an answer "better"?</p>



<a name="130354421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354421">(Jul 26 2018 at 16:04)</a>:</h4>
<p>/me shrugs</p>



<a name="130354423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354423">(Jul 26 2018 at 16:04)</a>:</h4>
<p>then write <code>'tcx</code></p>



<a name="130354434"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354434" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354434">(Jul 26 2018 at 16:04)</a>:</h4>
<p>Right, but then <code>'a, 'tcx, 'gcx</code> should be everywhere, no?</p>



<a name="130354439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354439">(Jul 26 2018 at 16:04)</a>:</h4>
<p>no!</p>



<a name="130354443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354443">(Jul 26 2018 at 16:04)</a>:</h4>
<p>i.e. you'll get obscure errors if the impl doesn't have it</p>



<a name="130354444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354444">(Jul 26 2018 at 16:04)</a>:</h4>
<p>first off, not <code>'a</code> :)</p>



<a name="130354448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354448">(Jul 26 2018 at 16:04)</a>:</h4>
<p>why?</p>



<a name="130354449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354449">(Jul 26 2018 at 16:04)</a>:</h4>
<p>I am confused</p>



<a name="130354455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354455">(Jul 26 2018 at 16:05)</a>:</h4>
<p>oh, I see what you mean</p>



<a name="130354459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354459">(Jul 26 2018 at 16:05)</a>:</h4>
<p>Because you're using lifetimes from<code>self</code></p>



<a name="130354466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354466">(Jul 26 2018 at 16:05)</a>:</h4>
<p>so <em>including</em> <code>'a</code> is more likely to cause problems than not</p>



<a name="130354474"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354474" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354474">(Jul 26 2018 at 16:05)</a>:</h4>
<p>leaving aside the question of name</p>



<a name="130354476"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354476" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354476">(Jul 26 2018 at 16:05)</a>:</h4>
<p>because it is not a real thing</p>



<a name="130354480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354480">(Jul 26 2018 at 16:05)</a>:</h4>
<p>Agreed on <code>'a</code> but seems like <code>'tcx</code>/'gcx` are good ideas, right?</p>



<a name="130354486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354486">(Jul 26 2018 at 16:05)</a>:</h4>
<p>I think you could make a case for <code>'gcx</code></p>



<a name="130354499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354499">(Jul 26 2018 at 16:05)</a>:</h4>
<p>it probably doesn't matter too much either way</p>



<a name="130354546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354546">(Jul 26 2018 at 16:06)</a>:</h4>
<p>Well, I've seen errors from 'tcx and 'gcx being not associated</p>



<a name="130354550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354550">(Jul 26 2018 at 16:06)</a>:</h4>
<p>(while I was doing this)</p>



<a name="130354553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354553">(Jul 26 2018 at 16:06)</a>:</h4>
<p>well</p>



<a name="130354554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354554">(Jul 26 2018 at 16:06)</a>:</h4>
<p>I'd rather not write it :)</p>



<a name="130354565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354565">(Jul 26 2018 at 16:06)</a>:</h4>
<p>because it's so unusual to use</p>



<a name="130354567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354567">(Jul 26 2018 at 16:06)</a>:</h4>
<p>that I prefer to have attention called to it</p>



<a name="130354582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354582">(Jul 26 2018 at 16:06)</a>:</h4>
<p>Hm, sure, but the problem is that it's no longer a local consideration</p>



<a name="130354588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354588">(Jul 26 2018 at 16:07)</a>:</h4>
<p>i.e. I can see not writing it in functions but impl headers perhaps yes?</p>



<a name="130354589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354589">(Jul 26 2018 at 16:07)</a>:</h4>
<p>why?</p>



<a name="130354596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354596">(Jul 26 2018 at 16:07)</a>:</h4>
<p>I mean .. yes, you'll get errors</p>



<a name="130354600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354600">(Jul 26 2018 at 16:07)</a>:</h4>
<p>we'll work on reporting them well</p>



<a name="130354606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354606">(Jul 26 2018 at 16:07)</a>:</h4>
<p>Right, you'll get errors and as a newcomer you'll have <em>no idea</em> how to fix them</p>



<a name="130354616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354616">(Jul 26 2018 at 16:07)</a>:</h4>
<p>why would you have no idea?</p>



<a name="130354686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354686">(Jul 26 2018 at 16:08)</a>:</h4>
<p>I guess if errors are good, then maybe -- I just worry that it'll essentially be <code>'1</code> does not outlive <code>'tcx</code> and people will not know where <code>'1</code> came from</p>



<a name="130354688"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354688" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354688">(Jul 26 2018 at 16:08)</a>:</h4>
<p>e.g., if it tells you </p>
<div class="codehilite"><pre><span></span><span class="w">  </span><span class="o">|</span><span class="w"> </span><span class="k">impl</span><span class="w"> </span><span class="n">Ctxt</span><span class="o">&lt;</span><span class="na">&#39;_</span><span class="p">,</span><span class="w"> </span><span class="na">&#39;_</span><span class="p">,</span><span class="w"> </span><span class="na">&#39;tcx</span><span class="o">&gt;</span><span class="w"></span>
<span class="w">  </span><span class="o">|</span><span class="w">                </span><span class="o">^^</span><span class="w"> </span><span class="n">data</span><span class="w"> </span><span class="n">with</span><span class="w"> </span><span class="n">this</span><span class="w"> </span><span class="n">lifetime</span><span class="w"> </span><span class="n">is</span><span class="w"> </span><span class="n">being</span><span class="w"> </span><span class="n">used</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="err">`</span><span class="na">&#39;gcx</span><span class="err">`</span><span class="w"></span>
</pre></div>


<p>then it's fairly clear. You have to understand the scheme, of course.</p>



<a name="130354697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354697">(Jul 26 2018 at 16:08)</a>:</h4>
<p>but if we can point at the impl block then that's good enough</p>



<a name="130354708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354708">(Jul 26 2018 at 16:08)</a>:</h4>
<p>I doubt we do today of course :) but it seems like something we could do</p>



<a name="130354711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354711">(Jul 26 2018 at 16:08)</a>:</h4>
<p>and should do</p>



<a name="130354716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354716">(Jul 26 2018 at 16:08)</a>:</h4>
<p>regardless of the outcome of this discussion :)</p>



<a name="130354722"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354722" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354722">(Jul 26 2018 at 16:09)</a>:</h4>
<p>that said, I think i could be convinced that we should just use <code>'gcx</code> and <code>'tcx</code></p>



<a name="130354730"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354730" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354730">(Jul 26 2018 at 16:09)</a>:</h4>
<p>for simpicity and to head off errors</p>



<a name="130354738"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354738" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354738">(Jul 26 2018 at 16:09)</a>:</h4>
<p>I think those two lifetimes are 'special'</p>



<a name="130354744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354744">(Jul 26 2018 at 16:09)</a>:</h4>
<p>most other lifetimes just connect things</p>



<a name="130354756"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354756" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354756">(Jul 26 2018 at 16:09)</a>:</h4>
<div class="codehilite"><pre><span></span>error[E0623]: lifetime mismatch
   --&gt; librustc_mir/borrow_check/nll/mod.rs:259:9
    |
217 |     infcx: &amp;InferCtxt&lt;&#39;_, &#39;_, &#39;_&gt;,
    |             ---------------------
...
220 |     mir: &amp;Mir&lt;&#39;_&gt;,
    |           ------- these two types are declared with different lifetimes...
...
259 |         infcx.tcx,
    |         ^^^^^^^^^ ...but data from `mir` flows into `infcx` here
</pre></div>



<a name="130354757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354757">(Jul 26 2018 at 16:09)</a>:</h4>
<p>but those lifetimes refer to very specific arenas in the compiler</p>



<a name="130354763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354763">(Jul 26 2018 at 16:09)</a>:</h4>
<p>well, the newer errors are actually better</p>



<a name="130354765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354765">(Jul 26 2018 at 16:09)</a>:</h4>
<p>we should remove that one</p>



<a name="130354803"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354803" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354803">(Jul 26 2018 at 16:10)</a>:</h4>
<p>that is, that particular error form is a "fancy error" that overrides the base error</p>



<a name="130354834"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354834" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354834">(Jul 26 2018 at 16:10)</a>:</h4>
<p>but the base errors are becoming better than the fancy error</p>



<a name="130354840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354840">(Jul 26 2018 at 16:10)</a>:</h4>
<p>in particular, the base errors would highlight <em>which</em> lifetime</p>



<a name="130354845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354845">(Jul 26 2018 at 16:10)</a>:</h4>
<p>not just the type as a whole</p>



<a name="130354853"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354853" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354853">(Jul 26 2018 at 16:10)</a>:</h4>
<p>that's amazing</p>



<a name="130354867"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354867" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354867">(Jul 26 2018 at 16:11)</a>:</h4>
<div class="codehilite"><pre><span></span>error[E0623]: lifetime mismatch
   --&gt; librustc_mir/borrow_check/nll/mod.rs:259:9
    |
217 |     infcx: &amp;InferCtxt&lt;&#39;_, &#39;_, &#39;_&gt;,
    |                           -- let&#39;s call this &#39;1
...
220 |     mir: &amp;Mir&lt;&#39;_&gt;,
    |               -- let&#39;s call this &#39;2
...
259 |         infcx.tcx,
    |         ^^^^^^^^^ &#39;1 is required to outlive &#39;2 here
</pre></div>



<a name="130354871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354871">(Jul 26 2018 at 16:11)</a>:</h4>
<p>something like that</p>



<a name="130354881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354881">(Jul 26 2018 at 16:11)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="116107">@David Wood</span> <span class="emoji emoji-261d" title="point up">:point_up:</span> we should distill a test here</p>



<a name="130354890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354890">(Jul 26 2018 at 16:11)</a>:</h4>
<p>I think that it may be getting time to remove the "nice region errors"... or at least some of them .. in NLL mode</p>



<a name="130354911"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354911" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354911">(Jul 26 2018 at 16:11)</a>:</h4>
<p>It'd be super cool if we could look at the struct and pull lifetime names from there</p>



<a name="130354960"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354960" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354960">(Jul 26 2018 at 16:12)</a>:</h4>
<p>we do that sometimes and it's mega confusing</p>



<a name="130354973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354973">(Jul 26 2018 at 16:12)</a>:</h4>
<p>hm, I guess it depends on the case</p>



<a name="130354976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354976">(Jul 26 2018 at 16:12)</a>:</h4>
<p>that is, people are always like "what is this name"</p>



<a name="130354980"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354980" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354980">(Jul 26 2018 at 16:12)</a>:</h4>
<p>yeah, I know, in this case it might be nice</p>



<a name="130354989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130354989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130354989">(Jul 26 2018 at 16:12)</a>:</h4>
<p>I mean using names like <code>'1</code> and <code>'2</code> may not be better :)</p>



<a name="130355008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355008">(Jul 26 2018 at 16:12)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> can you maybe distill that test you just gave into an issue ?</p>



<a name="130355017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355017">(Jul 26 2018 at 16:13)</a>:</h4>
<p>e.g., with a simple reproduction</p>



<a name="130355025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355025">(Jul 26 2018 at 16:13)</a>:</h4>
<p>hm, I can point at the compiler tree, I think, that should work</p>



<a name="130355032"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355032" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355032">(Jul 26 2018 at 16:13)</a>:</h4>
<p>I think though I'm sort of convinced to just <code>'tcx</code> and <code>'gcx</code> consistently</p>



<a name="130355037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355037">(Jul 26 2018 at 16:13)</a>:</h4>
<p>it seems like it'll be easier to explain</p>



<a name="130355045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355045">(Jul 26 2018 at 16:13)</a>:</h4>
<p>well</p>



<a name="130355092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355092">(Jul 26 2018 at 16:14)</a>:</h4>
<p>Note that the test case is w/o NLL enabled</p>



<a name="130355137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355137">(Jul 26 2018 at 16:15)</a>:</h4>
<p>I think that <a href="https://play.rust-lang.org/?gist=6ef135681004987b98c4438b136a51b3&amp;version=nightly&amp;mode=debug&amp;edition=2015" target="_blank" title="https://play.rust-lang.org/?gist=6ef135681004987b98c4438b136a51b3&amp;version=nightly&amp;mode=debug&amp;edition=2015">this test case will do</a>:</p>
<div class="codehilite"><pre><span></span><span class="cp">#![feature(nll)]</span><span class="w"></span>

<span class="k">struct</span> <span class="nc">Foo</span><span class="o">&lt;</span><span class="na">&#39;a</span><span class="p">,</span><span class="w"> </span><span class="na">&#39;b</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="n">x</span>: <span class="kp">&amp;</span><span class="na">&#39;a</span><span class="w"> </span><span class="kt">u32</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="n">y</span>: <span class="kp">&amp;</span><span class="na">&#39;b</span><span class="w"> </span><span class="kt">u32</span><span class="p">,</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

<span class="k">struct</span> <span class="nc">Bar</span><span class="o">&lt;</span><span class="na">&#39;b</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="n">z</span>: <span class="kp">&amp;</span><span class="na">&#39;b</span><span class="w"> </span><span class="kt">u32</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

<span class="k">fn</span> <span class="nf">func</span><span class="p">(</span><span class="n">foo</span>: <span class="nc">Foo</span><span class="o">&lt;</span><span class="na">&#39;_</span><span class="p">,</span><span class="w"> </span><span class="na">&#39;_</span><span class="o">&gt;</span><span class="p">,</span><span class="w"> </span><span class="n">bar</span>: <span class="nc">Bar</span><span class="o">&lt;</span><span class="na">&#39;_</span><span class="o">&gt;</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="n">foo</span><span class="p">.</span><span class="n">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">bar</span><span class="p">.</span><span class="n">z</span><span class="p">;</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

<span class="k">fn</span> <span class="nf">main</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
</pre></div>



<a name="130355163"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355163" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355163">(Jul 26 2018 at 16:15)</a>:</h4>
<p>uh I can't connect to github for some reason :)</p>



<a name="130355231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355231">(Jul 26 2018 at 16:16)</a>:</h4>
<p>seems to reproduce, I'll file it</p>



<a name="130355247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355247">(Jul 26 2018 at 16:16)</a>:</h4>
<p>can you also p=1 <span class="user-mention" data-user-id="116107">@David Wood</span>'s PR now that tests pass? :)</p>



<a name="130355250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355250">(Jul 26 2018 at 16:16)</a>:</h4>
<p>why on earth can't I connect to github...</p>



<a name="130355269"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355269" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> davidtwco <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355269">(Jul 26 2018 at 16:17)</a>:</h4>
<p>(thats <a href="https://github.com/rust-lang/rust/issues/52648" target="_blank" title="https://github.com/rust-lang/rust/issues/52648">#52648</a>)</p>



<a name="130355272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355272">(Jul 26 2018 at 16:17)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> this is an example of the new style errors at work, though in this case we can't point at the <code>'_</code>:</p>
<div class="codehilite"><pre><span></span>error: unsatisfied lifetime constraints
  --&gt; $DIR/issue-52533-1.rs:18:18
   |
LL |     gimme(|x, y| y)
   |            -  -  ^ closure was supposed to return data with lifetime `&#39;1` but it is returning data with lifetime `&#39;2`
   |            |  |
   |            |  has type `&amp;Foo&lt;&#39;_, &#39;1, u32&gt;`
   |            has type `&amp;Foo&lt;&#39;_, &#39;2, u32&gt;`
</pre></div>



<a name="130355335"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355335" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355335">(Jul 26 2018 at 16:18)</a>:</h4>
<p>I'm still impressed with that one :)</p>



<a name="130355342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355342">(Jul 26 2018 at 16:18)</a>:</h4>
<p>ok I got github to work now</p>



<a name="130355345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355345">(Jul 26 2018 at 16:18)</a>:</h4>
<p>switched to my cell phone hotspot :)</p>



<a name="130355374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355374">(Jul 26 2018 at 16:19)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> here's another example to file :)</p>



<a name="130355376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355376">(Jul 26 2018 at 16:19)</a>:</h4>
<p><a href="https://play.rust-lang.org/?gist=96fc205e5162ae48cb27063a22ea4518&amp;version=nightly&amp;mode=debug&amp;edition=2015" target="_blank" title="https://play.rust-lang.org/?gist=96fc205e5162ae48cb27063a22ea4518&amp;version=nightly&amp;mode=debug&amp;edition=2015">https://play.rust-lang.org/?gist=96fc205e5162ae48cb27063a22ea4518&amp;version=nightly&amp;mode=debug&amp;edition=2015</a></p>



<a name="130355379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355379">(Jul 26 2018 at 16:19)</a>:</h4>
<p>Yes, these errors are quite good</p>



<a name="130355387"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355387" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355387">(Jul 26 2018 at 16:19)</a>:</h4>
<p>did you file the other one?</p>



<a name="130355444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> davidtwco <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355444">(Jul 26 2018 at 16:20)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/52739" target="_blank" title="https://github.com/rust-lang/rust/issues/52739">#52739</a></p>



<a name="130355480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355480">(Jul 26 2018 at 16:21)</a>:</h4>
<p>I think that both of these are cases where the "nice region errors" are getting in the way</p>



<a name="130355488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130355488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> davidtwco <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130355488">(Jul 26 2018 at 16:21)</a>:</h4>
<p>I've made a topic for discussing that.</p>



<a name="130357227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes/near/130357227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> davidtwco <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/in-band-lifetimes.html#130357227">(Jul 26 2018 at 16:49)</a>:</h4>
<p>Got really confused when I got assigned a issue from <span class="user-mention" data-user-id="116122">@simulacrum</span> but the name on the email of <span class="user-mention" data-user-id="116122">@simulacrum</span> was different.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>